Methods and apparatus to present supplemental media on a second screen

ABSTRACT

Methods and apparatus to present supplemental media on a second screen are disclosed. An example method includes establishing a connection between a digital media device and a computing device based on information identifying the computing device and, in response to establishing the connection, receiving, at the computing device, a first notification from the digital media device including a location of supplemental media; accessing the supplemental media; and in response to accessing the supplemental media, sending a second notification that the supplemental media has been accessed, the second notification to enable media skipping on the digital media device.

RELATED APPLICATIONS

This patent arises from a continuation of U.S. patent application Ser.No. 15/930,168, filed May 12, 2020 (now U.S. Pat. No. ______), which isa continuation of U.S. patent application Ser. No. 15/363,443, filedNov. 29, 2016, which is a continuation of U.S. patent application Ser.No. 14/628,535, filed Feb. 23, 2015 (now U.S. Pat. No. 9,521,468), whichis a continuation of U.S. patent application Ser. No. 13/827,943, filedMar. 14, 2013 (now U.S. Pat. No. 8,966,521). The entireties of U.S.patent application Ser. No. 15/930,168, U.S. patent application Ser. No.15/363,443, U.S. patent application Ser. No. 14/628,535, and U.S. patentapplication Ser. No. 13/827,943 are hereby incorporated herein byreference. Priority to U.S. patent application Ser. No. 15/930,168, U.S.patent application Ser. No. 15/363,443, U.S. patent application Ser. No.14/628,535, and U.S. patent application Ser. No. 13/827,943 is herebyclaimed.

FIELD OF THE DISCLOSURE

This disclosure relates generally to digital media, and, moreparticularly, to methods and apparatus to present supplemental media ona second screen.

BACKGROUND

The use of Digital Video Recorders (DVR) has become more widespread. Theuse of DVRs has changed the way audiences consume media. While mediaexposure is generally believed to have increased because audiences areno longer limited to viewing programs during designated time slots, DVRsallow advertisements that support the programs to be fast forwarded orotherwise skipped or avoided by the audience. Avoidance of exposures toadvertising by an audience causes the advertisement to lose value to theadvertiser.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example system constructed in accordancewith the teachings of this disclosure to detect skipping of media via adigital media device and to present media on a secondary display device.

FIG. 2 is a block diagram of an example implementation of the exampledigital media device of FIG. 1.

FIG. 3 is a block diagram of an example implementation of the examplemedia identifying data decoder of FIG. 2.

FIG. 4 is a block diagram of an example implementation of the examplealternate media initiator of FIG. 2.

FIG. 5A illustrates an example user interface constructed in accordancewith the teachings of this disclosure and displayed via a digital mediadevice and a primary media presentation device to enable skipping ofmedia via the digital media device.

FIG. 5B illustrates an example user interface constructed in accordancewith the teachings of this disclosure and displayed via a secondarymedia presentation device to associate the secondary media presentationdevice with a digital media device.

FIG. 6 is a block diagram of an example implementation of the examplemedia detection server of FIG. 1.

FIG. 7 is a block diagram of an example implementation of the examplesupplemental media server of FIG. 1.

FIG. 8 illustrates an example of presenting media via a primary mediapresentation device and a digital media device, the digital media devicebeing associated with a secondary media presentation device.

FIG. 9 illustrates an example of presenting media via the secondarymedia presentation device of FIG. 8 when the digital media devicedetects a command to skip media being presented on the primary mediapresentation device of FIG. 8.

FIG. 10 is a flowchart representative of example machine readableinstructions which may be executed to implement the example digitalmedia device, the example media processor, the example displayinterface, the example storage device, the example command interface,the example alternate media initiator, the example media identifyingdata decoder, the example signature generator, and the example skipdetector of FIGS. 1, 2, and/or 4 to cause media to be displayed via asecondary media presentation device.

FIGS. 11A and 11B collectively show a flowchart representative ofexample machine readable instructions which may be executed to implementthe example digital media device, the media detection server, theexample media processor, the example storage device, the example commandinterface, the example alternate media initiator, the example mediaidentifying data decoder, the example signature generator, the examplenetwork interface, the example wireless interface, the example skipdetector, and/or the example advertisement detector of FIGS. 1, 2,and/or 4 to determine whether media being presented is an advertisement.

FIG. 12 is a flowchart representative of example machine readableinstructions which may be executed to implement the example digitalmedia device, the example storage device, the example alternate mediainitiator, the example network interface, the example wirelessinterface, the example secondary device registrar, and/or the examplesecondary media initiator of FIGS. 1, 2, and/or 4 to cause media to bedisplayed on a secondary media presentation device.

FIG. 13 is a flowchart representative of example machine readableinstructions which may be executed to implement the example digitalmedia device and/or the example secondary media presentation device ofFIGS. 1 and/or 2 to display media in response to skipping of media via adigital media device.

FIG. 14 is a flowchart representative of example machine readableinstructions which may be executed to implement the example digitalmedia device, the example media processor, the example displayinterface, the example alternate media initiator, the example networkinterface, the example wireless interface, the example skip detector,the example skip enabler, the example secondary device registrar ofFIGS. 1 and/or 2 to enable skipping media being played via the digitalmedia device.

FIG. 15 is a block diagram of an example processor platform capable ofexecuting the instructions of FIGS. 10, 11A-11B, 12, 13, and/or 14 toimplement the system of FIGS. 1, 2, 3, 4, 6, and/or 7.

The figures are not to scale. Wherever possible, the same referencenumbers will be used throughout the drawing(s) and accompanying writtendescription to refer to the same or like parts.

DETAILED DESCRIPTION

Example methods and apparatus disclosed herein use audience measurementtechniques to detect when advertisements are being skipped duringpresentation of media (e.g., by fast forwarding, changing channels, a30-second jump forward, pausing and resuming at live media, etc.). Whenadvertisement skipping is detected, example methods and apparatusdisclosed herein provide supplemental media to a second screenassociated with the user or location skipping the advertisement. Examplesupplemental media may include the skipped advertisement, anotheradvertisement from the same advertiser or a different advertiser, aredeemable offer, a link to an advertiser's web site or another website, a message or other notification, an interactive and informativegame, or any other type of media. Some example methods and apparatusdisclosed herein do not deliver advertising when portions of media areskipped or fast forwarded.

Example methods and apparatus disclosed herein control the ability toskip media such as advertising. In some examples, the privilege ofskipping advertisements is provided to the user on condition that theuser register or link a second screen (e.g., a computing and/or displaydevice, which may be provided with a designated application) to displaysupplemental media. Such example methods and apparatus may disable orsuppress fast forwarding or skipping of advertising until such aregistration or linkage occurs.

While examples are disclosed herein as detecting fast forwardingcommands from a user to skip advertising, these examples may be modifiedand/or supplemented to detect advertisement or other media skippingduring live media broadcasts via channel changes. For example, if achannel change is detected during an advertisement, example methods andapparatus disclosed herein provide supplemental media for display on thesecond screen. Example methods and apparatus disclosed herein mayadditionally or alternatively detect advertisement or other mediaskipping during live media broadcasts via pausing the media beingbroadcast (e.g., buffering the media in a storage device while pausingplayback via a DVR) and then restarting playback of the media at a latertime (e.g., a “live TV” button that causes playback to start again withthe live media broadcast and/or in substantially real time). Suchpausing and skipping to live TV can effectively permit skipping ofadvertisements.

Example methods and apparatus disclosed herein use more reliable methodsof identifying programming and advertising to deliver supplemental media(e.g., content and/or advertisements). Example methods and apparatusdisclosed herein further provide control over whether such advertisingcan be skipped until a user agrees to permit supplemental media to bedelivered.

FIG. 1 is a block diagram of an example system 100 constructed inaccordance with the teachings of this disclosure to detect skipping ofmedia via a digital media device 102 and to present media on a secondarymedia presentation device 104 (e.g., a tablet computer such as aniPad™). The example system 100 of FIG. 1 may be used to, for example,improve the return on the investment of advertisers in sponsoringprogramming and/or content on primary media presentation devices 106(e.g., television). For example, the example system 100 of FIG. 1provides media (e.g., advertising) to the secondary media presentationdevice 104 when advertising media is skipped on the primary mediapresentation device 106, thereby counteracting the ad skippingphenomenon brought on by DVRs and the like.

The example digital media device 102 of FIG. 1 obtains media (e.g.,programs and/or advertising) from media provider(s) 108 and displays themedia via the example primary media presentation device 106. Forexample, the digital media device 102 may be a digital video recorder(DVR), a personal video recorder (PVR), a digital streaming player(e.g., a Roku, an Apple TV, etc.), a cable and/or satellite set top box,a personal computer, a laptop computer, a tablet computer, a gameconsole, and/or any combination of these or other digital media devices.In some examples, the digital media device 102 and the primary mediapresentation device 106 are implemented using one device (e.g., a smarttelevision). The example media provider(s) of FIG. 1 may include, forexample, cable and/or satellite television operators and/or streamingmedia services. The example digital media device 102 of FIG. 1 enablesrecording and time-shifted viewing of media obtained from mediaproviders 108 such as cable and/or satellite television operators.

The example secondary media presentation device 104 of FIG. 1 is adevice capable of presenting media to a user associated with the digitalmedia device and/or the primary media presentation device. The examplesecondary media presentation device 104 of FIG. 1 may be, for example, amobile device having a form factor sufficiently small to be easilycarried, such as a smartphone, a tablet computer (e.g., an iPad), oranother computing device having a display screen and communicationscapabilities. The example secondary media presentation device 104 may beused for general computing tasks such as web browsing and/or wordprocessing, and/or may be used for specific computing tasks, such astasks defined by an application that can be downloaded from anapplication store (e.g., via a network 110 such as the Internet). Theexample secondary media presentation device 104 may connect to thenetwork 110 via a wired and/or wireless network access point 112 (e.g.,a wired and/or wireless router, a wired and/or wireless modem, and/or acombination thereof) and/or via a wireless communications connection(e.g., a 2G, EDGE, 3G, WiMax, and/or 4G data communications connection)via a network node 114 of a wireless communications provider.

A user can control the example digital media device 102 of theillustrated example using a remote control device 116. The exampleremote control device 116 may communicate with the digital media device102 via infrared frequency transmissions, directly via a wireless dataconnection (e.g., Bluetooth), and/or via a wired and/or wireless dataconnection via a network (e.g., a wired and/or wireless local areanetwork (LAN)). Using the remote control device 116, a user may causethe digital media device 102 to, among other things, fast forwardthrough portions of a media presentation that the user does not wish toview. For example, users of a time-shifting media device may choose tofast forward through (or otherwise skip) advertisements when viewingtime-shifted media. In such cases, the users do not view or view anabbreviated version of the advertisement(s) between sections of content.Such skipping behavior deprives the advertiser of the effect of theadvertisement, and reduces the incentive for an advertiser to invest inadvertising. While the example remote control device 116 of FIG. 1 isillustrated as a standalone device, the example remote control device116 may be integrated into and/or implemented by other hardware and/orsoftware, such as by a remote control application executing on theexample secondary media presentation device 104.

To mitigate the effect of skipping advertisements or other media, theexample digital media device 102 of FIG. 1 detects when an advertisementis skipped (as opposed to content being skipped) and, when anadvertisement skip is detected, causes the secondary media presentationdevice 104 of FIG. 1 to display the advertisement, a substituteadvertisement, or other substitute media to replace or augment theadvertisement that was skipped.

To this end, the example system 100 of FIG. 1 includes a media detectionserver 118 and a supplemental media server 120. The example mediadetection server 118 of FIG. 1 obtains information describing the mediabeing presented and/or skipped at the digital media device 102. In someexamples, the digital media device 102 decodes media identificationdata, such as watermarks or codes, from the media being presented and/orfrom media being skipped. Additionally or alternatively, the examplemedia detection server 118 obtains signatures characterizing the mediabeing presented and/or skipped at the digital media device 102. Themedia detection server 118 compares the codes and/or signatures to alibrary or database of reference codes and/or signatures to identifymatching codes and/or signatures. When matching codes and/or signaturesare identified in the reference library, the example media detectionserver 118 determines whether the matching reference codes and/orsignatures correspond to programs, content, advertisements, or othermedia types of interest.

When the example media detection server 118 determines that media typeof interest (e.g., advertising) is being skipped by the user of thedigital media device 102, the example supplemental media server 120 ofFIG. 1 provides supplemental media (e.g., the skipped advertisement, analternative advertisement, an advertisement notification, etc.) to thesecondary media presentation device 104.

While the example media detection server 118 and the examplesupplemental media server 120 are disclosed in FIG. 1 as separatesystems, media detection (e.g., advertisement and programidentification) and/or supplemental media delivery to the secondarymedia presentation device 104 may be partially or wholly performed viathe digital media device 102 of FIG. 1.

FIG. 2 is a more detailed block diagram of the example digital mediadevice 102 of FIG. 1. The example digital media device 102 of FIG. 2obtains media and displays the media on a media presentation device(e.g., a television or display monitor). The example digital mediadevice 102 of FIG. 2 may further record and store media for time-shiftedviewing.

The digital media device 102 of the illustrated example of FIG. 2includes a media processor 202, a display interface 204, a mediainterface 206, a storage device 208, and a command interface 210. Theexample media processor 202 of FIG. 2 processes audio and/or videoinformation (e.g., received media for playback, stored media,interactive content, electronic program guides, user menus, etc.) fordisplay on a media presentation device (e.g., the primary mediapresentation device 106 of FIG. 1). For example, the media processor 202of FIG. 2 may decode compressed digital media files and provide thedecoded media to the primary media presentation device 104 via thedisplay interface 204. The example display interface 204 of FIG. 2includes any necessary hardware and/or software to interface the mediaprocessor 202 to the primary media presentation device 104, such asphysical port connections, rendering hardware and/or software, and/orsignaling hardware and/or software, among other things. An exampledisplay interface 204 is a High-Definition Multimedia Interface (HDMI)communications interface.

The example media processor 202 receives media via the media interface206 (e.g., from the media provider(s) 108 of FIG. 1). The example mediainterface 206 may include a cable connection, satellite connection,fiber optic connection, wired and/or wireless Internet connection,and/or any other method of receiving media from the media provider(s)108.

In addition to presenting media via the display interface 204, theexample media processor 202 of FIG. 2 may record and/or store media(e.g., at the direction of a user of the digital media device 102) inthe storage device 208. The example storage device 208 of FIG. 2 is amass storage device such as a hard disk drive, a solid state drive,and/or any other type of non volatile storage. In some examples, thestorage device 208 is remote from the digital media device 102 andcommunicatively connected to the digital media device 102 to receive,store, deliver and/or present media via the media processor 202. At thedirection of the user (e.g., via the command interface 210), the examplemedia processor 202 accesses recorded media stored on the storage device208 and presents the recorded media via the display interface 204. Thepresentation of time-shifted media (e.g., media that is played back at atime subsequent to its initial or intended presentation) may bemanipulated by the user, including playing the media, stopping playbackof the media, pausing playback of the media, fast forwarding the media,and/or rewinding the media, among other things.

The example command interface 210 of FIG. 2 receives command signalsfrom the example remote control 116. For example, the command interfacemay include an IR frequency receiver and a decoder to decode signalstransmitted to the command interface 210 by the remote control device116. In some examples, the remote control device 116 communicates withthe digital media device 102 via a data signal, such as a wired and/orwireless LAN, a Bluetooth connection, and/or any other datacommunication. Additionally or alternatively, the example commandinterface 210 of FIG. 2 may include one or more physical buttons tocommand the digital media device 102 to play media, stop playing media,pause media, fast forward media, rewind media, change channels, and/orany other command.

The example digital media device 102 of FIG. 2 enables a user of thedigital media device 102 to play time-shifted media on the primary mediapresentation device 106 and to fast forward the time-shifted media toskip portions of the time-shifted media (e.g., instead of presentingthem on the primary media presentation device 106 or by presenting themat a very high speed). As mentioned above, enabling fast forwarding ofadvertisements reduces a return on investment for purchasers ofadvertising during a program. To mitigate this effect, the exampledigital media device 102 of FIG. 1 is associated with one or moresecondary media presentation devices (e.g., the device 104 of FIG. 2)for delivery and presentation of media in response to media of interest(e.g., advertisements) being skipped via the digital media device 102.In other words, the example digital media device 102 causes substitutemedia to be presented on the example secondary media presentation device104. Substitute media may include, for example, a substitute commercial,a coupon, an advertiser and/or product web page, and/or any other mediadesigned to incentivize the user of the secondary media presentationdevice 104 to view the advertisement.

To detect skipping of advertisements and/or to initiate presentation ofmedia via the secondary media presentation device 104, the exampledigital media device 102 of FIG. 1 includes an alternate media initiator212, a media detector 213 including a media identifying data decoder 214and a signature generator 216, a network interface 218, and a wirelessinterface 220. The example alternate media initiator 212 of FIG. 2initiates the presentation of media to the example secondary mediapresentation device 104 in response to identifying that media ofinterest is being and/or has been skipped.

The example media detector 213 of FIG. 2 determines that a portion ofmedia being presented and/or skipped includes an advertisement or othermedia of interest by obtaining codes and/or signatures from the media.Identification codes, such as watermarks, ancillary codes, etc. may beembedded within or otherwise transmitted with media signals.Identification codes are data that are inserted into media (e.g., audio)to uniquely identify broadcasters and/or media (e.g., content oradvertisements), and/or are carried with the media for another purposesuch as tuning (e.g., packet identifier headers (“PIDs”) used fordigital broadcasting). Codes are typically extracted using a decodingoperation.

Signatures are a representation of one or more characteristic(s) of themedia signal (e.g., a characteristic of the frequency spectrum of thesignal). Signatures can be thought of as fingerprints. They aretypically not dependent upon insertion of identification codes in themedia, but instead preferably reflect an inherent characteristic of themedia and/or the media signal. Systems to utilize codes and/orsignatures for audience measurement are long known. See, for example,Thomas, U.S. Pat. No. 5,481,294, which is hereby incorporated byreference in its entirety. Codes, metadata, signatures, etc. collectedand/or generated by the media identifying data decoder 214 and/orsignature generator 216 of FIG. 2 for use in identifying media and/or astation transmitting media may be referred to generally as mediamonitoring data or media identifying data.

The example media identifying data decoder 214 of FIG. 1 obtains all ora portion of media (e.g., an audio portion, a video portion, or both)from which media identifying data is to be decoded. FIG. 3 is a moredetailed block diagram of the example media identifying data decoder 214of FIG. 2. As illustrated in FIG. 3, the example media identifying datadecoder 214 includes a bitstream decoder 302, a code detector 304, acode reader 306, and an advertisement detector 308.

Example media identifying data includes codes or watermarks that areembedded into audio or video data of media. The media identifying datamay be encoded steganographically in the audio for, for example,audience measurement or research purposes. In some examples, the decodedmedia identifying data provides information about the media in which thedata is embedded, such as a time at which the media was originallypresented or intended for presentation (e.g., via a broadcast), anidentification of the media (e.g., a program identifier, an owneridentifier, a station identifier, a network identifier, an advertiseridentifier, etc.), a characteristic of the media (e.g., the media is aprogram, the media is an advertisement, etc.), and/or any otherinformation pertaining to presentation of the media. In some examples,the media identifying data is repeated for the duration of the mediaand/or changes between different portions of the media. For example, theprogram content portion of media may include a first set of one or morecodes describing the program content and each of one or moreadvertisement(s) presented between portions of the program contentinclude respective set(s) of one or more codes describing theadvertisement(s).

The example media identifying data decoder 214 of FIG. 2 decodes (e.g.,extracts) any and/or all media identifying data from the media beingpresented for identification of the media and/or characteristics of themedia. In some examples, the example media identifying data decoder 214accesses a file stored in the storage device 208 containing recordedmedia data and extracts media identifying data from the stored file.Thus, the example media identifying data decoder 214 may decode orextract media identifying data from media that was skipped (e.g., notfully processed by the example media processor 202). To extract mediaidentifying data from skipped media, the example media identifying datadecoder 214 determines or receives (e.g., from the media processor 202)an indication of the beginning and ending times of the portion of themedia that was skipped. In the example of FIG. 2, the beginning andending times are determined with reference to the beginning of the media(e.g., the start of the media file is considered to be time 0:00.00).The example media identifying data decoder 214 provides the extractedmedia identifying data to the alternate media initiator 212 and/or to anexternal media detection server 118 via the example network interface218 and/or the network 110.

In addition to or as an alternative to decoding media identifying dataencoded in the media, the example digital media device 102 of FIG. 2includes a signature generator 216 to generate signature(s)characteristic of the media being presented (e.g., via the mediaprocessor 202) and/or the media stored in the storage device 208. Theexample signature generator 216 generates signatures which describe(e.g., uniquely describe, nearly-uniquely describe) the portion of theaudio being characterized (e.g., a block of audio having a length oftime).

The example signature generator 216 of FIG. 2 transmits generatedsignatures via the example network interface 218 and the example network110 of FIG. 2 to a signature matching server (e.g., the media detectionserver 118 of FIG. 1). The example media detection server 118 maycompare one or more of the signature(s) to reference signatures in areference library. The reference signatures are representative of mediato which the media presented by, and/or stored on, the digital mediadevice 102 can be matched. If the example media detection server 118detects a match, the example media detection server 118 may determinewhether the matching media is media of interest (e.g., anadvertisement). If the matching media is media of interest, the examplemedia detection server 118 sends an indication of the media of interestto the example digital media device 102 (e.g., to the alternate mediaindicator 212) and/or to a supplemental content server (e.g., thesupplemental media server 120 of FIG. 1).

FIG. 4 is a block diagram of an example implementation of the examplealternate media initiator 212 of FIG. 2. As illustrated in FIG. 4, theexample alternate media initiator 212 includes a skip detector 402, askip enabler 404, a secondary device registrar 406, an advertisementdetector 408, and a secondary media initiator 410.

The example skip detector 402 of FIG. 4 detects skipping of media (whichmay or may not be media of interest) based on, for example, receiving afast forward, channel change, or skip command from the example commandinterface 210. To determine whether skipped media is media of interest(e.g., an advertisement) and not other media (e.g., program content),the example skip detector 402 receives media identifying data from theskipped media (e.g., codes embedded in the media, signatures of theskipped media (e.g., hashes of the media), and/or metadata providing anindication of the nature of the skipped media (e.g., media of interest,not media of interest, an identification of the media, etc.)) from anexternal server such as the media detection server 118 of FIG. 1.

The example skip enabler 404 of FIG. 4 may enable and/or disableskipping of media of interest (e.g., advertisements) based on, forexample, whether a secondary media presentation device is registered tothe digital media device 102 (e.g., via the secondary device registrar406) and/or to another location. For example, the skip enabler 404 maydisable skipping of advertising via the digital media device 102 until auser agrees to view supplemental media (e.g., substitute ads) on one ormore secondary media presentation devices 104 and/or until the presencesof a secondary media presentation device configured to receive suchsupplemental media is detected. To disable skipping, the example skipenabler 404 of the illustrated example obtains an indication of whethermedia is media of interest (e.g., media that is not to be skipped) whena skip (e.g., fast forward) command is received via the commandinterface 210 of FIG. 2.

If the skip enabler 404 of the illustrated example determines that mediaof interest would be skipped, the example skip enabler 404 suppressesthe skip command via the command interface 210. The example skip enabler404 further causes the example media processor 202 of FIG. 2 to presenta suppression notification to the user via the display interface 204 andthe primary media presentation device 106. An example suppressionnotification may inform the user that skipping advertisements is notpermitted until a secondary media presentation device is registered(e.g., communicatively connected) to the digital media device 102 viathe secondary device registrar 406.

To register the example secondary media presentation device 104, theexample secondary device registrar 406 presents an address or identifier(e.g., a media access control (MAC) address, an Internet protocol (IP)address, an ad hoc network identifier, a subnet, etc.) of the exampledigital media device 102 (e.g., of the network interface 218 and/or thewireless interface 220 of FIG. 2) via the display interface 204 and theprimary media presentation device 106. FIG. 5A illustrates an exampleuser interface 500 displayed via the digital media device 102 and theexample primary media presentation device 104 of FIGS. 1 and 2 to enableskipping of media via the digital media device 102. The example userinterface of FIG. 5A provides identification information (e.g., a MACaddress of the digital media device 102) that may be used to establish aconnection, and requests a passcode to verify the secondary mediapresentation device 104 attempting to connect is genuine (e.g.,associated with the user of the digital media device 102).

The example secondary device registrar 406 may further direct the user(e.g., via the display interface 204 and the primary media presentationdevice 106) to download an application or otherwise configure thesecondary media presentation device 104 to be registered to the digitalmedia device 102. FIG. 5B illustrates an example user interface 502displayed via the example secondary media presentation device 104 ofFIG. 2 to associate the secondary media presentation device 104 with thedigital media device 102.

Once downloaded or otherwise executed on the example secondary mediapresentation device 104, the example secondary media presentation device104 may request (e.g., via an interface 504) information to identify thedigital media device 102 (e.g., the MAC address), personal information,demographic information, and/or any other information to be entered intothe secondary media presentation device 104 by the user. When thesecondary media presentation device 104 has obtained the identificationof the digital media device 102 (e.g., the MAC address), the examplesecondary media presentation device 104 establishes a communicationsconnection with the digital media device 102 (e.g., a Bluetoothconnection and/or ad hoc wireless connection via the wireless interface220, a wired and/or wireless LAN connection via the network interface218, etc.) to communicate with the secondary device registrar 406. Whenthe communications connection is established, the example secondarydevice registrar 406 transmits a passcode 506 or other confirmationidentifier to the example secondary media presentation device 104, whichthe secondary media presentation device 104 displays to the user via aninterface 508. The example user inputs the passcode into the secondarydevice registrar 406 (e.g., via the remote control 116 and the commandinterface 210 of FIG. 2).

In some examples, subsequent to enabling skipping of media of interest,the example skip enabler 404 of FIG. 4 may temporarily suspend ordisable skipping in response to determining that a connection betweenthe digital media device 102 and the secondary media presentation device104 has been lost for a threshold period of time. Prior to suspending ordisabling skipping, the example skip enabler 404 may provide warnings tothe user (e.g., via the display interface 204 and the primary mediapresentation device 106) of the digital media device 102 that theconnection to the registered secondary media presentation device 104 hasbeen lost and that skipping privileges may be suspended if theconnection is not reestablished.

On the other hand, if the media to be skipped is not media of interest(e.g., the user wishes to fast forward through program content), theexample skip enabler 404 may permit the fast forwarding to occur andstop the fast forwarding when media of interest would be skipped.

When the user has complied with one or more requirements for enablingskipping of media, such as downloading a designated application to thesecondary media presentation device 104, initiated a connection betweenthe digital media device 102 and the secondary media presentation device104, and/or provided registration information such as personal and/ordemographic information, the example skip enabler 404 of FIG. 4 enablesskipping of media via the command interface 210.

To detect whether media to be skipped is media of interest (e.g., anadvertisement), the example alternate media initiator 212 of FIG. 4includes an advertisement detector 408. The example advertisementdetector 408 receives media identifying data (e.g., from the mediaidentifying data detector 214 of FIGS. 2 and/or 3), such as codes,signatures (e.g., from the signature generator 216 of FIG. 2), and/ormetadata indications of whether media is media of interest (e.g., fromthe media detection server 118 via the network 110 and the networkinterface 218 of FIGS. 1 and 2). The example advertisement detector 408may interpret and/or identify codes (e.g., advertisement flags, programflags, media identifier codes, etc.) to determine whether media to beskipped is media of interest. Additionally or alternatively, the exampleadvertisement detector 408 may compare the codes and/or generatedsignatures to reference codes and/or reference signatures (e.g., storedin the storage device 208) to identify media having matching codesand/or signatures. Accordingly, the example advertisement detector 408may implement all or part of the example media detection server 118 ofFIG. 1.

The example secondary media initiator 410 of FIG. 4 initiates thedelivery of media to and/or presentation of media on the examplesecondary media presentation device 104 of FIGS. 1 and/or 2. Forexample, the secondary media initiator 410 receives an indication of askip request, determines whether skipping is enabled (e.g., for some orall media types), and determines whether the media to be skipped ismedia of interest (e.g., an advertisement). If media of interest is tobe skipped, the example secondary media initiator 410 initiates thepresentation of media on the secondary media presentation device 104.

In some examples, the secondary media initiator 410 transmits the mediabeing skipped and/or substitute media to the example secondary mediapresentation device 104 via the wireless interface 220 and/or via thenetwork interface 218. Additionally or alternatively, the examplesecondary media initiator 410 transmits a notification and/or anidentification of the secondary media presentation device 104 to asupplemental media server (e.g., the supplemental media server 120 viathe network interface 218 of FIGS. 1 and/or 2). In response to thenotification and/or an identification, the example supplemental mediaserver 120 transmits the media and/or substitute media to the secondarymedia presentation device 104. In some other examples, the secondarymedia initiator 410 of FIG. 4 transmits a notification and/oridentification of supplemental media to be delivered to the examplesecondary media presentation device 104. The identification of thesupplemental media may be based on, for example, a characteristic of themedia being skipped (e.g., the advertiser, the network showing theprogram, etc.). Upon receipt of the notification and/or identification,the example secondary media presentation device 104 retrievessupplemental media (e.g., from the supplemental media server 120 of FIG.1).

The example secondary media initiator 410 may cause supplemental mediato be presented via the secondary media presentation device 104 that isproportional to the media that is skipped. For example, the secondarymedia initiator 410 may cause twice as many advertisements or offers tobe displayed via the secondary media initiator 410 when twoadvertisements are skipped on the digital media device 102 than when onead is skipped on the digital media device 102.

FIG. 6 is a more detailed block diagram of the example media detectionserver 118 of FIG. 1. The example media detection server 118 of FIG. 1may be implemented as one or more separate servers and/or may beimplemented in the example digital media device 102 of FIGS. 1 and/or 2.The example media detection server 118 of FIG. 6 includes a codecomparator 602, a reference code database 604, a signature comparator606, a reference signature database 608, a media type identifier 610,and a network interface 612.

The example code comparator 602 of FIG. 6 obtains codes to be identified(e.g., from the media identifying data decoder 214 of FIG. 2 via thenetwork interface 612). To identify received code(s), the example codecomparator 602 of FIG. 6 compares the received code(s) with referencecodes stored in the reference code database 604. The reference codes maybe stored in the reference code database 604 in association withinformation describing the meaning of the codes, such as anidentification of media (e.g., the corresponding content and/oradvertisement), an identification of a program, an identification of anadvertiser, a type of the media (e.g., content, advertisement, etc.), anidentification of a channel, an identification of a time, anidentification of a geographic area, an identification of an owner ofthe media, and/or any other information that may be embedded into media.

The precise methodologies and/or structures of the media identifyingdata decoder 214 of FIG. 2 or the code comparator 602 FIG. 6 areirrelevant to this disclosure. Example methods of encoding mediaidentifying codes in media and/or decoding codes embedded in media aredescribed in U.S. Pat. No. 5,481,294 among others. When the codecomparator 602 identifies a matching code in the reference code database604, the example code comparator 602 provides the correspondinginformation to the example media type identifier 610.

The example signature comparator 606 of FIG. 6 obtains signatures to bematched to reference signatures (e.g., from the signature generator 216of FIG. 2 via the network interface 612). To identify receivedsignature(s), the example signature comparator 606 of FIG. 6 comparesthe received signatures(s) with reference signatures stored in thereference signature database 608. The reference signatures may be storedin the reference signature database 608 in association with informationdescribing the media from which the reference signatures were previouslyderived, including a name of the media, a type of the media (e.g.,program, content, advertisement, etc.), an advertiser, an owner, and/orany other identifying information regarding the reference media. Theexample signature comparator 606 determines whether a signature is amatch based on the method used to generate the signatures. Differentmethods of generating signatures correspond to different methods ofcomparing signatures and determining matches between signatures. Theprecise methodologies and/or structures of the signature generator 216of FIG. 2 or the signature comparator 606 FIG. 6 are irrelevant to thisdisclosure. Example methods of generating and/or comparing signatures ofmedia are described in U.S. Pat. No. 5,481,294, among others.

The example media type identifier 610 of FIG. 6 obtains identificationsof media from the comparators 602, 606 and corresponding informationobtained from the databases 604, 608 for the identified media. Based onthe information, the example media type identifier 610 determineswhether the identified media is media of interest (e.g., anadvertisement). When the identified media is media of interest (e.g., anadvertisement), the example media type identifier 610 sends anindication that the media is media of interest to the examplesupplemental media server 120, the example digital media device 102,and/or to the example secondary media presentation device 104. Theidentification of the media as media of interest may then be used topresent supplemental (e.g., substitute) media on the secondary mediapresentation device 104 and/or to suppress skipping of media.

FIG. 7 is a block diagram of an example implementation of the examplesupplemental media server 120 of FIG. 1. The example supplemental mediaserver 120 of FIGS. 1 and/or 7 may be implemented as one or moreseparate servers, may be combined with the example media detectionserver 118, and/or may be implemented in the example digital mediadevice 102 of FIGS. 1 and/or 2. The example supplemental media server120 of FIG. 7 includes a media deliverer 702, a media skip identifier704, a media database 706, a secondary device database 708, and anetwork interface 710.

The example media deliverer 702 of FIG. 7 delivers supplemental orsubstitute media to a secondary media presentation device (e.g., thesecondary media presentation device 104 of FIGS. 1 and/or 2) via thenetwork interface 710. In the example of FIG. 7, the media deliverer 702delivers the supplemental media in response to receiving an indicationthat media of interest is being skipped (e.g., via the digital mediadevice 102 and/or the media detection server 118 of FIGS. 1 and/or 2).For example, when the media skip identifier 704 receives an indicationfrom the digital media device 102 that media has been skipped and themedia deliverer 702 receives an indication from the digital media device102 and/or from the media detection server 118 that the media is mediaof interest, the example media deliverer 702 determines supplementalmedia to be sent and determines a destination for the supplementalmedia.

The example media deliverer 702 selects media from the media database706 for delivery to the example secondary media presentation device 104.The example media deliverer 702 further determines an identity and/or alocation (e.g., an address) at which media can be provided to thesecondary media presentation device 104. The example media deliverer 702transmits the selected media to the secondary media presentation device104 at the identified address or location.

FIG. 8 illustrates an example of presenting media via the exampleprimary media presentation device 106 and the example digital mediadevice 102 of FIG. 1. In the example of FIG. 8, the digital media device102 is associated (e.g., registered, communicatively connected) with thesecondary media presentation device 104. The example secondary mediapresentation device 104 includes an application 802 to communicate withthe example digital media device 102 via a network or direct wirelessdata connection. While the primary media presentation device 106displays program content 804, the example application 802 of FIG. 8 onthe secondary media presentation device 104 does not presentsupplemental media, and the user may use the device 104 to skip themedia without restriction.

FIG. 9 illustrates an example of presenting supplemental media 806 viathe secondary media presentation device 104 of FIG. 8 when the digitalmedia device 102 detects a command to skip media 808 being presented onthe primary media presentation device 106 of FIG. 8. In the example ofFIG. 9, the user has sent a command to the example digital media device102 to cause the digital media device 102 to skip (e.g., fast forward)the media 808 being shown on the primary media presentation device 106,which is illustrated in FIG. 9 as a fast forward symbol 810 displayedthe user on the primary media presentation device 106.

In response to the skipping, the example digital media device 102transmits a signal 812 or other notification to the example secondarymedia presentation device 104. The signal 812 include a location fromwhich the example application 802 is to retrieve supplemental media fordisplay on the secondary media presentation device 104. The exampleapplication 802 executing on the secondary media presentation device 104receives the example signal 812, requests the supplemental media basedon the signal 812, and displays the media 806 (e.g., a supplementaladvertisement) on the secondary media presentation device 104. While theexample application 802 of FIG. 9 is depicted showing a singleadvertisement, the example media 806 may include multipleadvertisements, offers, or other media in succession and/orsimultaneously.

While an example manner of implementing the system 100 of FIG. 1 isillustrated in FIGS. 1, 2, 3, 4, 6, and/or 7, one or more of theelements, processes and/or devices illustrated in FIGS. 1, 2, 3, 4, 6,and/or 7 may be combined, divided, re-arranged, omitted, eliminatedand/or implemented in any other way. Further, the example digital mediadevice 102, the example secondary media presentation device 104, theexample primary media presentation device 106, the example mediaprovider(s) 108, the example network access point 112, the exampleremote control 116, the example media detection server 118, the examplesupplemental media server 120, the example media processor 202, theexample display interface 204, the example media interface 206, theexample storage device 208, the example command interface 210, theexample alternate media initiator 212, the example media identifyingdata decoder 214, the example signature generator 216, the examplenetwork interfaces 218, 612, 710, and the example wireless interface220, the example bitstream decoder 302, the example code detector 304,the example code reader 306, the example advertisement detector 308, theexample skip detector 402, the example skip enabler, the examplesecondary device registrar 406, the example advertisement detector 408,the example secondary media initiator 410, the example code comparator602, the example reference code database 604, the example signaturecomparator 606, the example reference signature database 608, theexample media type identifier 610, the example media deliverer 702, theexample media skip identifier 704, the example media database 706, theexample secondary device database 708 and/or, more generally, theexample system 100 of FIG. 1 may be implemented by hardware, software,firmware and/or any combination of hardware, software and/or firmware.Thus, for example, any of the example digital media device 102, theexample secondary media presentation device 104, the example primarymedia presentation device 106, the example media provider(s) 108, theexample network access point 112, the example remote control 116, theexample media detection server 118, the example supplemental mediaserver 120, the example media processor 202, the example displayinterface 204, the example media interface 206, the example storagedevice 208, the example command interface 210, the example alternatemedia initiator 212, the example media identifying data decoder 214, theexample signature generator 216, the example network interfaces 218,612, 710, and the example wireless interface 220, the example bitstreamdecoder 302, the example code detector 304, the example code reader 306,the example advertisement detector 308, the example skip detector 402,the example skip enabler, the example secondary device registrar 406,the example advertisement detector 408, the example secondary mediainitiator 410, the example code comparator 602, the example referencecode database 604, the example signature comparator 606, the examplereference signature database 608, the example media type identifier 610,the example media deliverer 702, the example media skip identifier 704,the example media database 706, the example secondary device database708 and/or, more generally, the example system 100 could be implementedby one or more analog or digital circuit(s), logic circuits,programmable processor(s), application specific integrated circuit(s)(ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)). When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example, digitalmedia device 102, the example secondary media presentation device 104,the example primary media presentation device 106, the example mediaprovider(s) 108, the example network access point 112, the exampleremote control 116, the example media detection server 118, the examplesupplemental media server 120, the example media processor 202, theexample display interface 204, the example media interface 206, theexample storage device 208, the example command interface 210, theexample alternate media initiator 212, the example media identifyingdata decoder 214, the example signature generator 216, the examplenetwork interfaces 218, 612, 710, and the example wireless interface220, the example bitstream decoder 302, the example code detector 304,the example code reader 306, the example advertisement detector 308, theexample skip detector 402, the example skip enabler, the examplesecondary device registrar 406, the example advertisement detector 408,the example secondary media initiator 410, the example code comparator602, the example reference code database 604, the example signaturecomparator 606, the example reference signature database 608, theexample media type identifier 610, the example media deliverer 702, theexample media skip identifier 704, the example media database 706,and/or the example secondary device database 708 is/are hereby expresslydefined to include a tangible computer readable storage device orstorage disk such as a memory, a digital versatile disk (DVD), a compactdisk (CD), a Blu-ray disk, etc. storing the software and/or firmware.Further still, the example system 100 of FIG. 1 may include one or moreelements, processes and/or devices in addition to, or instead of, thoseillustrated in FIGS. 1, 2, 3, 4, 6, and/or 7, and/or may include morethan one of any or all of the illustrated elements, processes anddevices.

Flowcharts representative of example machine readable instructions forimplementing the system 100 of FIG. 1 are shown in FIGS. 10, 11A-11B,12, 13, and 14. In these examples, the machine readable instructionscomprise programs for execution by a processor such as the processor1512 shown in the example processor platform 1500 discussed below inconnection with FIG. 15. The programs may be embodied in software storedon a tangible computer readable storage medium such as a CD-ROM, afloppy disk, a hard drive, a digital versatile disk (DVD), a Blu-raydisk, or a memory associated with the processor 1512, but the entireprograms and/or parts thereof could alternatively be executed by adevice other than the processor 1512 and/or embodied in firmware ordedicated hardware. Further, although the example programs are describedwith reference to the flowcharts illustrated in FIGS. 10, 11A-11B, 12,13, and 14, many other methods of implementing the example system 100may alternatively be used. For example, the order of execution of theblocks may be changed, and/or some of the blocks described may bechanged, eliminated, or combined.

As mentioned above, the example processes of FIGS. 10, 11A-11B, 12, 13,and 14 may be implemented using coded instructions (e.g., computerand/or machine readable instructions) stored on a tangible computerreadable storage medium such as a hard disk drive, a flash memory, aread-only memory (ROM), a compact disk (CD), a digital versatile disk(DVD), a cache, a random-access memory (RAM) and/or any other storagedevice or storage disk in which information is stored for any duration(e.g., for extended time periods, permanently, for brief instances, fortemporarily buffering, and/or for caching of the information). As usedherein, the term tangible computer readable storage medium is expresslydefined to include any type of computer readable storage device and/orstorage disk and to exclude propagating signals. As used herein,“tangible computer readable storage medium” and “tangible machinereadable storage medium” are used interchangeably. Additionally oralternatively, the example processes of FIGS. 10, 11A-11B, 12, 13, and14 may be implemented using coded instructions (e.g., computer and/ormachine readable instructions) stored on a non-transitory computerand/or machine readable medium such as a hard disk drive, a flashmemory, a read-only memory, a compact disk, a digital versatile disk, acache, a random-access memory and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm non-transitory computer readable medium is expressly defined toinclude any type of computer readable device or disk and to excludepropagating signals. As used herein, when the phrase “at least” is usedas the transition term in a preamble of a claim, it is open-ended in thesame manner as the term “comprising” is open ended.

FIG. 10 is a flowchart representative of example machine readableinstructions 1000 which may be executed to implement the example digitalmedia device 102, the example media processor 202, the example displayinterface 204, the example storage device 208, the example commandinterface 210, the example alternate media initiator 212, the examplemedia identifying data decoder 214, the example signature generator 216,and the example skip detector 402 of FIGS. 1, 2, and/or 4 to cause mediato be displayed via a secondary media presentation device. The exampleinstructions 1000 of FIG. 10 may be executed to implement the exampledigital media device 102 of FIGS. 1 and/or 2.

The example digital media device 102 of FIG. 2 presents (e.g., via themedia processor 202, the display interface 204, and/or the storagedevice 208 of FIG. 2) time-shifted media via a primary mediapresentation device (e.g., the primary media presentation device 106 ofFIGS. 1 and/or 2) (block 1002). The example media processor 202determines whether a skip command has been received (e.g., via thecommand interface 210) (block 1004). If a skip command has not beenreceived (block 1004), control returns to block 1002 to continuepresenting media.

When a skip command is received (block 1004), the example mediaidentifying data decoder 214, the example signature generator 216,and/or the example alternate media initiator 212 of FIG. 2 determinewhether the media being skipped is an advertisement (block 1006). Forexample, the media identifying data decoder 214 may decode one or morecodes from the media being skipped and/or the signature generator 216may generate one or more signatures of the media being skipped. Based onthe codes and/or signatures, the example alternate media initiator 212may determine and/or receive an indication of whether the media beingskipped is an advertisement (or other media of interest).

If the media being skipped is an advertisement (block 1008) the examplealternate media initiator 212 determines (e.g., via the skip enabler 404and/or the secondary device registrar 406 of FIG. 4) whetheradvertisement skipping is enabled (block 1010). For example, thesecondary device registrar 406 may determine that advertisement skippingis enabled if a secondary media presentation device 104 is registeredand communicatively connected to the example digital media device 102.If advertisement skipping is enabled (block 1010), or if the media beingskipped is not an advertisement (block 1008), the example digital mediadevice 102 provides second media (e.g., via the secondary mediainitiator 410 of FIG. 4) for display on the secondary media presentationdevice 104 (block 1012). For example, the secondary media initiator 410may transmit a notification, identification of media, media, and/or anyother signal or data to the example secondary media presentation device104 to cause the secondary media presentation device 104 to displaysupplemental media. The example digital media device 102 then skips(e.g., fast forwards) the media (block 1014).

After skipping the media (block 1014), or if advertisement skipping isnot enabled (block 1010), the example digital media device 102determines whether different media is being skipped (block 1016). Forexample, the media identifying data decoder 214, the signature generator216, and/or the alternate media initiator 212 of FIG. 2 may detect thatthe media has changed since the previous media was identified. Forexample, if an advertisement being presented and/or skipped ends andanother advertisement and/or the program begins, a difference in thedata embedded in the media and/or a set of signatures corresponding todifferent media may be identified. However, other methods of detecting atransition between media may also be used.

If different media is detected (block 1016), control returns to block1006 to determine whether the media being skipped is an advertisement.If different media is not detected (block 1016), the example digitalmedia device 102 determines whether a skip end command has been received(e.g., via the skip detector 402 and/or the command interface 210 ofFIGS. 2 and/or 4) (block 1018). If a skip end command has not beenreceived (block 1018), control returns to block 1016 to determinewhether different media is detected.

When a skip end command is received (block 1018), or if no skip commandis received (block 1004), the example digital media device 102determines whether the media presentation has ended (e.g., via the mediaprocessor 202) (block 1020). If the media presentation has not ended(block 1020), control returns to block 1002 to present media. When themedia presentation has ended (block 1020), the example instructions 1000may end and/or iterate for a subsequent media presentation.

FIGS. 11A and 11B collectively show a flowchart representative ofexample machine readable instructions 1100 which may be executed toimplement the example digital media device 102, the media detectionserver 118, the example media processor 202, the example storage device208, the example command interface 210, the example alternate mediainitiator 212, the example media identifying data decoder 214, theexample signature generator 216, the example network interface 218, theexample wireless interface 220, the example skip detector 402, and/orthe example advertisement detector 408 of FIGS. 1, 2, and/or 4 todetermine whether media being presented is an advertisement. The exampleinstructions 1100 of FIGS. 11A-11B may be executed to implement block1006 of FIG. 10 and/or to implement the example digital media device 102of FIGS. 1 and/or 2. While the example instructions 1100 of FIGS.11A-11B are described with reference to an advertisement, the exampleinstructions 1100 may additionally or alternatively be used to identifyother types of media of interest.

The example alternate media initiator 212 of FIG. 2 determines whethermedia (e.g., media being processed by the media processor 202 of FIG. 2)is being skipped (e.g., via the skip detector 402 of FIG. 4) (block1102). For example, the skip detector 402 may receive an indication of askip command from the command interface 210, the network interface 218,and/or the wireless interface 220 of FIG. 2. Both media being skippedand media being presented may be analyzed to determine whether the mediaare advertisements.

If the media is being skipped (block 1102), the example skip detector402 determines a start time and an end of skipped portion of the media(block 1104). For example, the skip detector 402 may determine a timeduring the media (e.g., a time with respect to a beginning or otherreference point within the media) at which a skip command was receivedand determine a time during the media at which a skip end command wasreceived. The example media identifying data decoder 214 and/or theexample signature generator 216 of FIG. 2 load (e.g., access, cache,use, etc.) the skipped portion of the media from a storage device (e.g.,a file or bitstream representing the media stored the storage device 208of FIG. 2) based on the start and end times of the skipped portion ofthe media (block 1106).

In some other examples, instead of detecting both the start time and endtime of the media prior to loading and/or processing, the example skipdetector 402 detects a start time of the skipped portion of the media.The media identifying data decoder 214 and/or the example signaturegenerator 216 begin loading and/or processing (e.g., decoding codes inthe media, generating signatures of the media) the skipped portion ofthe media beginning at the start time of the portion, and continueloading and/or processing the skipped portion of the media until theskip detector 402 detects the end of the skipped portion and providesthe end time of the skipped portion to the media identifying datadecoder 214 and/or the example signature generator 216. In theseexamples, the digital media device 102 may provide supplemental media tothe secondary media presentation device 104 more rapidly (e.g., duringskipping of the media and prior to ending skipping of the media).

If media is not being skipped (block 1102), the example mediaidentifying data decoder 214 and/or the example signature generator 216of FIG. 2 use media being presented via the media processor 202 (block1108). For example, the media identifying data decoder 214 and/or theexample signature generator 216 may process the media as it istranscoded and/or presented via the primary media presentation device106.

After obtaining the media (e.g., loading from the storage device 208,receiving from the media processor 202), the media identifying datadecoder 214 of FIG. 2 attempts to decode media identifying data encodedin the media (block 1110). The media identifying data may include, forexample, one or more codes embedded in the audio or video of the media.The example media identifying data decoder 214 determines whether themedia includes media identifying data (block 1112). For example, themedia may not include any media identifying data.

If the media includes media identifying data (decoded by the mediaidentifying data decoder 214) (block 1112), the example mediaidentifying data decoder 214 determines whether the media identifyingdata corresponds to an advertisement (block 1114). For example, themedia identifying data decoder 214 may search a database of codes forcode(s) matching the code(s) decoded from the media. Additionally oralternatively, the media identifying data decoder 214 may decode themedia identifying data based on a predefined format of the mediaidentifying data that may include an indication of whether the media inwhich the data is embedded is program, an advertisement, or another typeof media. In still other examples, the media identifying data decoder214 may send the media identifying data (e.g., codes) to an externalserver (e.g., the media detection server 118 of FIG. 1). The mediadetection server 118 determines whether the media identifying datacorresponds to an advertisement and returns an indication to the examplemedia identifying data decoder 214.

If the media does not include media identifying data (block 1112), or ifthe media identifying data does not correspond to an advertisement(block 1116), the example signature generator 216 of FIG. 2 generatesone or more signature(s) from the media (FIG. 11B, block 1118). Theexample signature generator 216 determines whether the signature(s)match one or more reference signature(s) (block 1120). For example, thesignature generator 216 may compare the generated signatures to alibrary of reference signatures to identify matching referencesignatures. Additionally or alternatively, the example, signaturegenerator 216 may provide the signatures to an external server (e.g.,the media detection server 118 of FIG. 1) to determine whether thesignature(s) match reference signatures.

If the signature generator 216 (or the external server) identifiesmatching reference signatures (block 1122), the example signaturegenerator 216 (or external server) determines whether the mediacorresponding to the matching reference signature(s) correspond toadvertisement(s) (block 1124). For example, the signature generator 216(or the external server) may determine whether information describingthe matching reference signatures indicate that the matching referencesignatures are generated from advertisement(s).

If the matching reference signature(s) do not correspond toadvertisement(s) (block 1126), or if there are no matching referencesignature(s) identified (block 1122) (and the media was not identifiedas an advertisement using media identifying data), the example alternatemedia initiator 212 (e.g., via the advertisement detector 408 of FIG. 4)determines that the media is not an advertisement (block 1128). On theother hand, if matching reference signature(s) correspond toadvertisement(s) (block 1126) and/or if media identifying data decodedfrom the media corresponds to advertisement(s) (block 1116), the examplealternate media initiator 212 (e.g., via the advertisement detector 408)identifies the media as an advertisement (block 1130). After identifyingthe media as an advertisement (block 1130) or as not an advertisement(block 1128), the example instructions 1100 of FIGS. 11A-11B end andcontrol returns to block 1008 of FIG. 10.

FIG. 12 is a flowchart representative of example machine readableinstructions 1200 which may be executed to implement the example digitalmedia device 102, the example storage device 208, the example alternatemedia initiator 212, the example network interface 218, the examplewireless interface 220, the example secondary device registrar 406,and/or the example secondary media initiator 410 of FIGS. 1, 2, and/or 4to cause media to be displayed on a secondary media presentation device104. The example instructions 1200 of FIG. 12 may be executed toimplement block 1012 of FIG. 10 to provide supplemental media to asecondary media presentation device.

The example alternate media initiator 212 of FIG. 2 (e.g., via thesecondary device registrar 406 of FIG. 4) determines a secondary mediapresentation device (e.g., the secondary media presentation device 104of FIGS. 1 and/or 2) to display supplemental media (block 1202). Forexample, the secondary device registrar 406 may determine whichsecondary media presentation device 104 is registered and/or to which aconnection is established. The example secondary media initiator 410determines media to be provided to the selected secondary mediapresentation device 104 based on the media being skipped (block 1204).For example, the secondary media initiator 410 may obtain an indicationof the media being skipped (e.g., from the media detection server 118 ofFIG. 1) and/or an indication of media to be presented (e.g., from thesupplemental media server 120 of FIG. 1).

The example secondary media initiator 410 establishes communication withthe selected secondary media presentation device 104 (block 1206). Forexample, the secondary media initiator 410 may establish communicationvia any of the network interface 218 (e.g., a wired and/or wireless LANconnection, etc.) and/or the wireless interface 220 (e.g., a Bluetoothconnection, a cellular data communications connection, etc.). Theexample the secondary media initiator 410 determines whether thesupplemental media to be provided is stored locally (e.g., at thedigital media device 102, in the storage 208, etc.) (block 1208).

If the supplemental media to be provided is stored remotely (e.g., notlocally) (block 1208), the example the secondary media initiator 410generates a notification including an identifier of the supplementalmedia and/or a location of the supplemental media (block 1210). Forexample, the secondary media initiator 410 may generate a notificationspecifying a URL of the supplemental media and/or an identifier of thesupplemental media that may be used by the secondary media presentationdevice 104 to retrieve the supplemental media. The example secondarymedia initiator 410 transmits the notification (e.g., including theidentifier and/or location of the media) to the secondary mediapresentation device 104 (block 1212). For example, the secondary mediainitiator 410 may transmit the notification via the communicationconnection established in block 1206.

If the supplemental media is stored locally (e.g., on the storage device208), the example secondary media initiator 410 transmits thesupplemental media to the secondary media presentation device 104 (block1214). For example, the secondary media initiator 410 may transmit thesupplemental media via the communication connection established in block1206. After transmitting the notification (block 1212) or transmittingthe supplemental media (block 1214), the example instructions 1200 ofFIG. 12 end and control returns to block 1214 of FIG. 10.

FIG. 13 is a flowchart representative of example machine readableinstructions 1300 which may be executed to implement the example digitalmedia device 102 and/or the example secondary media presentation device104 of FIGS. 1 and/or 2 to display media in response to skipping ofmedia via a digital media device 102.

The example secondary media presentation device 104 downloads anapplication (block 1302). For example, the secondary media presentationdevice 104 may obtain a predetermined application from an applicationrepository (e.g., an “app store”). The example secondary mediapresentation device 104 establishes a connection with a digital mediadevice (e.g., the digital media device 102 of FIGS. 1 and/or 2) (block1304). For example, the secondary media presentation device 104 may beconfigured to establish the connection at an address of the digitalmedia device 102 to enable skipping of media via the digital mediadevice 102.

The example secondary media presentation device 104 registers theapplication and/or the device 104 with the digital media device 102(block 1306). For example, the secondary media presentation device 104may provide information to enable the digital media device 102 tocommunicate supplemental media to the secondary media presentationdevice 104. The example secondary media presentation device 104determines whether an IP address of the secondary media presentationdevice 104 has changed (block 1308). For example, the IP address of thesecondary media presentation device 104 if the secondary mediapresentation device 104 changes locations and/or networks. The examplesecondary media presentation device 104 may additionally oralternatively determine whether another address or identifier haschanged. If the IP address has changed (block 1308), the examplesecondary media presentation device 104 updates the IP address in aregister (e.g., at the digital media device 102).

The example secondary media presentation device 104 determines whether asupplemental media notification has been received (block 1312). If anotification has not been received (block 1312), control returns toblock 1308 to determine whether an IP address has changed (block 1312).If a supplemental media notification has been received (block 1312), theexample secondary media presentation device 104 determines whether thesupplemental media (e.g., media identified in a notification) is storedlocally (block 1314). For example, the application may be provided withone or more advertisements to be presented, which are stored in astorage device of the secondary media presentation device 104. If thesupplemental media is stored locally (block 1314), the example secondarymedia presentation device 104 presents the supplemental media from thelocal storage (block 1316). For example, the secondary mediapresentation device 104 may present the media via a display deviceand/or an audio device of the secondary media presentation device 104.

If the supplemental media is not stored locally (block 1314), theexample secondary media presentation device 104 requests thesupplemental media based on the notification (block 1318). For example,the secondary media presentation device 104 may request the mediaidentified in the notification from the supplemental media server 120 ofFIG. 1. The example secondary media presentation device 104 receives thesupplemental media (e.g., from the supplemental media server 120) (block1320) and presents the received supplemental media (block 1322).

The example secondary media presentation device 104 determines whetherpresentation of the supplemental media is to end (block 1324). If thepresentation of the supplemental media has not ended (or is not to end)(block 1324), control loops to block 1322 to continue presenting thesupplemental media. If the presentation of the supplemental media hasended (block 1324), control returns to block 1312 to determine whetheranother supplemental media notification has been received. Thus, theinstructions 1300 of FIG. 13 cause the application and/or the secondarymedia presentation device 104 monitors for notifications of supplementalmedia to be presented continually, substantially continually,periodically, aperiodically, and/or at other intervals.

FIG. 14 is a flowchart representative of example machine readableinstructions 1400 which may be executed to implement the example digitalmedia device 102, the example media processor 202, the example displayinterface 204, the example alternate media initiator 212, the examplenetwork interface 218, the example wireless interface 220, the exampleskip detector 402, the example skip enabler 404, and/or the examplesecondary device registrar 406 of FIGS. 1, 2, and/or 4 to enableskipping media being played via the digital media device 102.

The example digital media device 102 of FIGS. 1 and/or 2 determineswhether skipping is enabled on the digital media device 102 (e.g., viathe alternate media initiator 212, the skip enabler 404, and/or thesecondary device registrar 406 of FIGS. 2 and/or 4) (block 1402). Forexample, skipping (e.g., skipping of media of interest) may be disabledif a secondary media presentation device (e.g., the secondary mediapresentation device 104 of FIGS. 1 and/or 2) has not been registeredwith the digital media device 102 (e.g., via the secondary deviceregistrar 406) and/or if communications with a registered secondarymedia presentation device 104 have been lost for a threshold time.

If skipping is disabled, the example alternate media initiator 212(e.g., via the skip enabler 404, the secondary device register 406, themedia processor 202, and/or the display interface 204 of FIGS. 2 and/or4) displays a notification to register a secondary media presentationdevice (block 1404). For example, the alternate media initiator 212 maycause the media processor 202 and the display interface 204 to displayan overlay on the primary media presentation device 106 notifying theviewer of the primary media presentation device 106 that registration ofa secondary media presentation device 104 (e.g., a mobile device, atablet computer, etc.) is required to enable skipping of advertisements.

The example secondary device register 406 of FIG. 4 determines whether arequest to register a second media presentation device 104 has beenreceived (block 1406). For example, the user may select a menu option toenable skipping and/or to register a secondary media presentation device104. If a request to register has been received (block 1406), theexample secondary device register 406 displays a digital media deviceaddress and a security code prompt (block 1408). For example, thesecondary device register 406 may cause the primary media presentationdevice 106 to display a MAC address of the network interface 218 and/orthe wireless interface 220 and a prompt for a user to input a securitycode (e.g., to ensure the user is capable of viewing the primary mediapresentation device 106). In some examples, the secondary deviceregister 406 automatically detects the presence of a secondary mediapresentation device 104 executing a designated application on a samecommunication network (e.g., a LAN or wireless LAN) as the digital mediadevice 102 and/or transmitting a predetermined signal in proximity tothe digital media device 102. In some examples, the secondary deviceregister 406 omits the security code prompt.

The example secondary device register 406 of FIG. 4 determines whether aconnection from a secondary media presentation device has been received(e.g., via the network interface 218 and/or the wireless interface 220of FIG. 2 at the address displayed in block 1408) (block 1410). If aconnection has not been received (block 1410), control loops to block1410 to await a connection. When a connection is received (block 1410),the example secondary device register 406 determines whether a correctsecurity code has been entered (e.g., by the user via the commandinterface 210, the network interface 218, and/or the wireless interface220) (block 1412). If a correct security code has not been entered(e.g., an incorrect code has been entered, no code has been entered(block 1412), control loops to block 1412 to receive a correct securitycode. In some examples, at block 1410 and/or block 1412, a loop time outmay return control to another appropriate block, such as block 1402,1404, 1406, and/or 1408.

When a correct security code is entered (block 1412), the examplesecondary device register 406 logs secondary media presentation deviceinformation (block 1414). For example, the secondary device register 406may store a device name, a device address, an application identificationnumber, and/or any other identifying and/or locating information for theregistered secondary media presentation device 104 in a storage device.The example skip enabler 404 enables skipping (block 1416).

If a request to register a secondary media presentation device 104 isnot received (block 1406), the example skip detector 402 of FIG. 4determines whether a skip request has been received (block 1418). Block1418 may be implemented as or in a similar or identical manner to block1004 of FIG. 10. If a skip request has been received (block 1418), theexample skip enabler 404 suppresses the skip request and displays anotification to register a secondary media presentation device (block1420). The example notification of block 1420 may be similar oridentical to the notification displayed in block 1404, includingindicating to the viewer of the primary media presentation device 104that skipping is disabled. If a skip request is not received (block1418), or after suppressing a skip request (block 1420), control returnsto block 1402 to determine whether skipping has been enabled.

When skipping is enabled (block 1402 or block 1416), the exampleinstructions 1400 may end. The example digital media device 102 mayexecute the instructions 1400 after enabling skipping if, for example,connection(s) with registered secondary media presentation devices arelost and/or if all secondary media presentation devices areunregistered.

FIG. 15 is a block diagram of an example processor platform 1500 capableof executing the instructions of FIGS. 10, 11A-11B, 12, 13, and/or 14 toimplement the system 100 of FIGS. 1, 2, 3, 4, 6, and/or 7. The processorplatform 1500 can be, for example, a server, a personal computer, amobile device (e.g., a cell phone, a smart phone, a tablet such as aniPad™), a personal digital assistant (PDA), an Internet appliance, adigital video recorder, a gaming console, a personal video recorder, aset top box, or any other type of computing device.

The processor platform 1500 of the illustrated example includes aprocessor 1512. The processor 1512 of the illustrated example ishardware. For example, the processor 1512 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer.

The processor 1512 of the illustrated example includes a local memory1513 (e.g., a cache). The processor 1512 of the illustrated example isin communication with a main memory including a volatile memory 1514 anda non-volatile memory 1516 via a bus 1518. The volatile memory 1514 maybe implemented by Synchronous Dynamic Random Access Memory (SDRAM),Dynamic Random Access Memory (DRAM), RAIVIBUS Dynamic Random AccessMemory (RDRAM) and/or any other type of random access memory device. Thenon-volatile memory 1516 may be implemented by flash memory and/or anyother desired type of memory device. Access to the main memory 1514,1516 is controlled by a memory controller.

The processor platform 1500 of the illustrated example also includes aninterface circuit 1520. The interface circuit 1520 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 1522 are connectedto the interface circuit 1520. The input device(s) 1522 permit(s) a userto enter data and commands into the processor 1512. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 1524 are also connected to the interfacecircuit 1520 of the illustrated example. The output devices 1524 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a light emitting diode (LED), a printer and/or speakers).The interface circuit 1520 of the illustrated example, thus, typicallyincludes a graphics driver card, a graphics driver chip or a graphicsdriver processor.

The interface circuit 1520 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network1526 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 1500 of the illustrated example also includes oneor more mass storage devices 1528 for storing software and/or data.Examples of such mass storage devices 1528 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives.

The coded instructions 1532 of FIGS. 10, 11A-11B, 12, 13, 14, and/or 15may be stored in the mass storage device 1528, in the volatile memory1514, in the non-volatile memory 1516, and/or on a removable tangiblecomputer readable storage medium such as a CD or DVD.

Example methods and apparatus disclosed herein increase the return oninvestment for advertisers by increasing a number of exposures toadvertisements purchased during media that is time-shifted for playback.At the same time, example methods and apparatus permit users to controltime-shifted and live media in a manner intended by the users'equipment, such as DVRs. Furthermore, example methods and apparatusdisclosed herein more accurately and more reliably detect advertisingand characteristics of the advertising using media identifying data.Accordingly, example methods and apparatus can ensure that appropriateadvertisement exposure credit is given and/or ensure that appropriateadvertisements are delivered for time-shifted media.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. A computing device comprising: a user interfaceto obtain information identifying a digital media device; and asupplemental media presentation application to: register the computingdevice with the digital media device in response to establishing aconnection with the digital media device; detect a first notificationfrom the digital media device via a communication channel, the firstnotification including a location at which supplemental media isaccessible by the computing device, the supplemental media associatedwith a first type of media; and cause, by a lapse in the connectionbetween the computing device and the digital media device for at least athreshold amount of time, media skipping functionality on the digitalmedia device with respect to the first media to be disabled, but withother functionality of the digital media device configurable by a remotecontrol device associated with the digital media device that is topermit skipping of media other than the first type of media to remainenabled.